In modern multi-media presentation systems, it is often desirable to merge images from two distinct video sources in a manner such that they overlay one another on the same display screen. Numerous special-effects generators have been designed to accomplish such merging, and provide capabilities such as: split-screen viewing, fades, wipes, and numerous "transparent window" types of effects where a "hole" in one image is created through which a second image may be viewed. Generally, before it is possible to merge two video images in this manner, it is necessary either to provide a display memory where two asynchronous video signals may be merged or to synchronize one video image to another.
If video image merging is to be accomplished without the use of video memory, then the latter technique of synchronization or "locking" of a dependent, or controllable, video source to an independent, or reference, video source is required. This technique is commonly referred to as "genlock", or generator locking, whereby the video signal generator of a dependent source is synchronized or "locked" to an independent video source by decoding and analyzing the timing of the independent source.
Generally, a video signal comprises three components: a signal or signals representing intensity and color, a signal for providing horizontal synchronization, and a signal for providing vertical synchronization. Often, all of the signals are combined into a single composite signal which is referred to as a composite video signal. Many standards have been proposed for the interchange of video information. Some such standards are the NTSC (National Television Standards Committee) specification for broadcast television, which is the present standard for television signal encoding in the United States; the European PAL (Phase Alternate Line) television standard; and the EIA (Electronic Industries Association) RS-170 specification for monochrome composite video. In addition, many specifications for computer generated video have emerged as de facto standards in the personal computer industry Several examples of these are found in the MDA (Monochrome Display Adapter), CGA (Color Graphics Array), and VGA (Video Graphics Array) video display adapters for the PC, PC/XT, and PC/AT personal computers by IBM corporation.
In a computer environment, the object of genlock usually is to synchronize a computer display to a video source, such as a videodisc or VCR, for the purpose of using the video source as background information over which the computer generated data (text and/or graphics) are overlaid.
Genlock is usually implemented through the use of phase-locked loop techniques, widely known in the present art, to synthesize a clock by phase-locking the horizontal sync pulse of a dependent video source (usually a computer display controller) to the horizontal sync pulse of an independent video source. The independent video source could be live video, pre-recorded video, or another computer display.
FIG. 1 is a diagram of a simple genlock system 100 for horizontal synchronization (HSYNC) comprising a phase-locked loop 11 comparator 112, loop filter 114 and voltage controlled oscillator (VCO) 114), and an external graphics controller 150 to lock one horizontal sync pulse 130 to another 120 while simultaneously generating a higher frequency clock signal 140 which is a multiple of the dependent horizontal sync frequency. Typically, this higher frequency clock signal 140 would be used as a master clock to the external graphics controller 150. The VCO 116 would operate at a multiple of the Dependent HSYNC frequency 130 based on an internal divide ratio in the external graphics controller 150. In this manner the horizontal scan rate of the graphics controller 150 is matched to that of the incoming independent video signal 120, whatever its source, and is synchronized such that the horizontal scans of each video source start at the same time. Evidently, stability of the phase locked loop would affect the stability of the dependent video image relative to the independent video image. That is, if there is any significant jitter in the phase-locked loop, there would be a corresponding visible jitter in the dependent video's image when overlaid on the independent video.
Among the shortcomings associated with present genlock systems is that there must be an incoming (independent) video signal for the dependent source to lock onto. If such an incoming signal is not present, then a typical genlock system would drift to some frequency which may not be compatible with the dependent graphics controller or with the display system. In fact, in some cases it is possible to do damage to a display monitor if such a situation should occur. It would therefore be highly desirable to provide an automatic mechanism whereby the absence of a video source or the absence of a coherent input signal will cause the genlock apparatus to generate some pre-specified default frequencies, and such is disclosed herein.
Another difficulty in genlock systems is the synchronization of the vertical components of the video signals. With the horizontal components synchronized, the images will be stable with respect to one another, but the vertical position of the dependent video source would likely be shifted with respect to the independent video image.
Vertical synchronization (VSYNC) is usually accomplished by generating an interrupt (signal) to the source of the dependent video (typically a computer system with a graphic controller) at the time of the independent source's vertical synchronization signal so that the it may reset the dependent source's vertical position at that time. It is desirable to provide a mechanism of establishing vertical synchronization without excessive external processor intervention, and such is disclosed herein.
The most straightforward method of accomplishing frame synchronization is to run the output of a VSYNC comparator into a hardware-based reset of a graphic controller's vertical line counter, such as a Texas Instrument 34010. Since not all controllers have this capability, the present invention overcomes this limitation by interrupting the host system, which is applicable to a broader range of designs.
Further, it is often advantageous to cause a graphics controller to generate an image (dependent video) which does not cover the entire independent video image. This is difficult using most present genlock systems, and requires a great deal of programming of the graphics controller registers and a non-trivial amount of external logic to accomplish the required masking. Even after this is done, the computer generated data (text and/or graphics) must typically be written to a position other than top left (the most convenient place for a display to start). It is desirable to provide a mechanism to shift the top-left of the dependent source's starting position with respect to that of the independent source, and to control the overall size of the dependent video image within the independent video image, and such is disclosed herein.